List Prolog Grammar Paradox Use grammars (with inputs, instead of none and multiple arguments instead of all in one like phrase/3) to build a simple grammar (that the grammar command with inputs and multiple arguments can parse, and the simple grammar has no inputs and one argument), however the grammar can't produce the grammar by using the grammar command which has no inputs and one argument (to modify a grammar). The paradox is not actually a paradox because one could still build (but not modify a grammar) using simple grammars by starting from an empty list and returning it as one argument within the one argument. Alternatively, one could avoid the problem by using complex grammars and putting up with writing an algorithm that wrote a complex grammar with base cases (and links) and bottom cases, which one learned were necessary from the C interpreter assignment. For power (and relatively loss in ease of use) I would choose the more complex grammars to modify grammars. Also, base and bottom cases would need to be and entered manually (as they would be in a complex grammar) to explain to the algorithm the relationship between them (where the simple grammars do not accept inputs and bypass the problem of relationships, i.e. which argument equals which argument in the base case by having no inputs).